package mk.jug.academy.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;

/**
 * Entity modeling a comment added to any {@link Content}.
 *
 * @author Ice.Penov
 */
@Entity
public class Comment extends RootEntity {
	
	@Column(nullable = false)
	private String facebookUserId;
	
	@Column(nullable = false)
	private String authorName;
	
	@Column(nullable = false)
	private String content;
	
	@Column(nullable = false) @Enumerated(EnumType.STRING)
	private CommentStatus status;
	
	@Column(nullable = false)
	private Long contentID;

	/**
	 * Returns the facebookUserId.
	 */
	public String getFacebookUserId() {
		return facebookUserId;
	}

	/**
	 * Setter for the facebookUserId.
	 */
	public void setFacebookUserId(String facebookUserId) {
		this.facebookUserId = facebookUserId;
	}

	/**
	 * Returns the displayName.
	 */
	public String getAuthorName() {
		return authorName;
	}

	/**
	 * Setter for the displayName.
	 */
	public void setAuthorName(String displayName) {
		this.authorName = displayName;
	}

	/**
	 * Returns the content.
	 */
	public String getContent() {
		return content;
	}

	/**
	 * Setter for the content.
	 */
	public void setContent(String content) {
		this.content = content;
	}

	/**
	 * Returns the status.
	 */
	public CommentStatus getStatus() {
		return status;
	}

	/**
	 * Setter for the status.
	 */
	public void setStatus(CommentStatus status) {
		this.status = status;
	}

	/**
	 * Returns the contentID.
	 */
	public Long getContentID() {
		return contentID;
	}

	/**
	 * Setter for the contentID.
	 */
	public void setContentID(Long contentID) {
		this.contentID = contentID;
	}
	
}